## 7.7. Moving Between Win32::ODBC and the DBI

Let's say that you've already written an application that uses `Win32::ODBC`, but you now need to run it on a non-Windows machine, or just want to use the DBI for some other reason.

The best technical approach would be to rewrite the application, but the real world doesn't often give us that kind of luxury. A more practical solution would be to use some kind of emulation of `Win32::ODBC` that uses the DBI "under the hood". The `Win32::DBIODBC` module bundled with the DBI does just that.

The `Win32::DBIODBC` module implements enough of the `Win32::ODBC` API for many simple applications to be ported with only a one-line change. Instead of saying:

>     use Win32::ODBC;

you just say:

>     use Win32::DBIODBC;

In the rest of your code, you still refer to the `Win32::ODBC` module. There is also an easy way to test your applications without having to change them at all. Just load `Win32::DBIODBC` from the command line:

>     perl -MWin32::DBIODBC your_script_name

`Win32::DBIODBC` fools Perl into thinking that `Win32::ODBC` has been loaded, so the `use Win32::ODBC;` line in your script won't have any effect.

Once you're using the emulation, you have the option to start rewriting the application to use the DBI directly at your own pace.

Copyright © 2001 O'Reilly & Associates. All rights reserved.